package com.tanhua.sso.service;

import com.tanhua.sso.vo.ErrorResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

import java.time.Duration;

@Service
public class SmsService {

    //注入redisTemplate:必须带泛型
    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    //手机验证码校验
    public ErrorResult sendCheckCode(String phone) {
        //1、设置redis中存储验证码的key
        String codeKey="CHECK_CODE_"+phone;//CHECK_CODE_17602028686
        //2、从redis中验证key
        Boolean flag = redisTemplate.hasKey(codeKey);
        //2.1 如果key存在，则表示验证码还有效，不需要再发送
        if(flag){
            return ErrorResult.builder().errCode("0000000").errMessage("验证码还未失效！").build();
        }
        //2.2 如果key不存在，则需要发送验证码，保存到redis,有效期5分钟
        String code="123456";//阿里短信服务不能使用，所以我们固定一个验证码123456
        redisTemplate.opsForValue().set(codeKey,code, Duration.ofMinutes(5));
        return null;
    }
}
